--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / public / rnode-flasher / js / crypto-js@3.9.1-1 / core.js
Displaying Raw • Download
meshchatx/src/frontend/public/rnode-flasher/js/crypto-js@3.9.1-1/core.js d92c2efc22b3cba79cd4e2c0b9794a2c4ecd75eb (d92c2efc) Text, 27.18 KB
Tb4b4b4(Tff7b72function Tb4b4b4(Te6edf3rootTb4b4b4, Te6edf3factoryTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3exports Tff7b72=== Ta5d6ff"object"Tb4b4b4) Tb4b4b4{
T8b949e// CommonJS
Te6edf3moduleTb4b4b4.Te6edf3exports Tff7b72= Te6edf3exports Tff7b72= Te6edf3factoryTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3define Tff7b72=== Ta5d6ff"function" Tff7b72&& Te6edf3defineTb4b4b4.Te6edf3amdTb4b4b4) Tb4b4b4{
T8b949e// AMD
Te6edf3defineTb4b4b4(Tb4b4b4[Tb4b4b4]Tb4b4b4, Te6edf3factoryTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// Global (browser)
Te6edf3rootTb4b4b4.Te6edf3CryptoJS Tff7b72= Te6edf3factoryTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4(Tff7b72thisTb4b4b4, Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e/**
* CryptoJS core components.
*/
Tff7b72var Te6edf3CryptoJS Tff7b72=
Te6edf3CryptoJS Tff7b72||
Tb4b4b4(Tff7b72function Tb4b4b4(Tffa657MathTb4b4b4, Tff7b72undefinedTb4b4b4) Tb4b4b4{
T8b949e/*
* Local polyfil of Object.create
*/
Tff7b72var Te6edf3create Tff7b72=
Tffa657ObjectTb4b4b4.Te6edf3create Tff7b72||
Tb4b4b4(Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72function Te6edf3FTb4b4b4(Tb4b4b4) Tb4b4b4{Tb4b4b4}
Tff7b72return Tff7b72function Tb4b4b4(Te6edf3objTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3subtypeTb4b4b4;
Te6edf3FTb4b4b4.Te6edf3prototype Tff7b72= Te6edf3objTb4b4b4;
Te6edf3subtype Tff7b72= Tff7b72new Te6edf3FTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3FTb4b4b4.Te6edf3prototype Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72return Te6edf3subtypeTb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e/**
* CryptoJS namespace.
*/
Tff7b72var Te6edf3C Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
T8b949e/**
* Library namespace.
*/
Tff7b72var Te6edf3C_lib Tff7b72= Tb4b4b4(Te6edf3CTb4b4b4.Te6edf3lib Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e/**
* Base object for prototypal inheritance.
*/
Tff7b72var Te6edf3Base Tff7b72= Tb4b4b4(Te6edf3C_libTb4b4b4.Te6edf3Base Tff7b72= Tb4b4b4(Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
T8b949e/**
* Creates a new object that inherits from this object.
*
* @param {Object} overrides Properties to copy into the new object.
*
* @return {Object} The new object.
*
* @static
*
* @example
*
* var MyType = CryptoJS.lib.Base.extend({
* field: 'value',
*
* method: function () {
* }
* });
*/
Te6edf3extendTff7b72: Tff7b72function Tb4b4b4(Te6edf3overridesTb4b4b4) Tb4b4b4{
T8b949e// Spawn
Tff7b72var Te6edf3subtype Tff7b72= Te6edf3createTb4b4b4(Tff7b72thisTb4b4b4)Tb4b4b4;
T8b949e// Augment
Tff7b72if Tb4b4b4(Te6edf3overridesTb4b4b4) Tb4b4b4{
Te6edf3subtypeTb4b4b4.Te6edf3mixInTb4b4b4(Te6edf3overridesTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Create default initializer
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3subtypeTb4b4b4.Te6edf3hasOwnPropertyTb4b4b4(Ta5d6ff"init"Tb4b4b4) Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3init Tff7b72=== Te6edf3subtypeTb4b4b4.Te6edf3initTb4b4b4) Tb4b4b4{
Te6edf3subtypeTb4b4b4.Te6edf3init Tff7b72= Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3subtypeTb4b4b4.Te6edf3$superTb4b4b4.Te6edf3initTb4b4b4.Te6edf3applyTb4b4b4(Tff7b72thisTb4b4b4, Te6edf3argumentsTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}
T8b949e// Initializer's prototype is the subtype object
Te6edf3subtypeTb4b4b4.Te6edf3initTb4b4b4.Te6edf3prototype Tff7b72= Te6edf3subtypeTb4b4b4;
T8b949e// Reference supertype
Te6edf3subtypeTb4b4b4.Te6edf3$super Tff7b72= Tff7b72thisTb4b4b4;
Tff7b72return Te6edf3subtypeTb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Extends this object and runs the init method.
* Arguments to create() will be passed to init().
*
* @return {Object} The new object.
*
* @static
*
* @example
*
* var instance = MyType.create();
*/
Te6edf3createTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3instance Tff7b72= Tff7b72thisTb4b4b4.Te6edf3extendTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3instanceTb4b4b4.Te6edf3initTb4b4b4.Te6edf3applyTb4b4b4(Te6edf3instanceTb4b4b4, Te6edf3argumentsTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3instanceTb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Initializes a newly created object.
* Override this method to add some logic when your objects are created.
*
* @example
*
* var MyType = CryptoJS.lib.Base.extend({
* init: function () {
* // ...
* }
* });
*/
Te6edf3initTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{Tb4b4b4}Tb4b4b4,
T8b949e/**
* Copies properties into this object.
*
* @param {Object} properties The properties to mix in.
*
* @example
*
* MyType.mixIn({
* field: 'value'
* });
*/
Te6edf3mixInTff7b72: Tff7b72function Tb4b4b4(Te6edf3propertiesTb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3propertyName Tff7b72in Te6edf3propertiesTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3propertiesTb4b4b4.Te6edf3hasOwnPropertyTb4b4b4(Te6edf3propertyNameTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4[Te6edf3propertyNameTb4b4b4] Tff7b72= Te6edf3propertiesTb4b4b4[Te6edf3propertyNameTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
T8b949e// IE won't copy toString using the loop above
Tff7b72if Tb4b4b4(Te6edf3propertiesTb4b4b4.Te6edf3hasOwnPropertyTb4b4b4(Ta5d6ff"toString"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3toString Tff7b72= Te6edf3propertiesTb4b4b4.Te6edf3toStringTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Creates a copy of this object.
*
* @return {Object} The clone.
*
* @example
*
* var clone = instance.clone();
*/
Te6edf3cloneTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3initTb4b4b4.Te6edf3prototypeTb4b4b4.Te6edf3extendTb4b4b4(Tff7b72thisTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/**
* An array of 32-bit words.
*
* @property {Array} words The array of 32-bit words.
* @property {number} sigBytes The number of significant bytes in this word array.
*/
Tff7b72var Te6edf3WordArray Tff7b72= Tb4b4b4(Te6edf3C_libTb4b4b4.Te6edf3WordArray Tff7b72= Te6edf3BaseTb4b4b4.Te6edf3extendTb4b4b4(Tb4b4b4{
T8b949e/**
* Initializes a newly created word array.
*
* @param {Array} words (Optional) An array of 32-bit words.
* @param {number} sigBytes (Optional) The number of significant bytes in the words.
*
* @example
*
* var wordArray = CryptoJS.lib.WordArray.create();
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);
*/
Te6edf3initTff7b72: Tff7b72function Tb4b4b4(Te6edf3wordsTb4b4b4, Te6edf3sigBytesTb4b4b4) Tb4b4b4{
Te6edf3words Tff7b72= Tff7b72thisTb4b4b4.Te6edf3words Tff7b72= Te6edf3words Tff7b72|| Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3sigBytes Tff7b72!= Tff7b72undefinedTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3sigBytes Tff7b72= Te6edf3sigBytesTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3sigBytes Tff7b72= Te6edf3wordsTb4b4b4.Te6edf3length Tff7b72* T79c0ff4Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Converts this word array to a string.
*
* @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex
*
* @return {string} The stringified word array.
*
* @example
*
* var string = wordArray + '';
* var string = wordArray.toString();
* var string = wordArray.toString(CryptoJS.enc.Utf8);
*/
Te6edf3toStringTff7b72: Tff7b72function Tb4b4b4(Te6edf3encoderTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3encoder Tff7b72|| Te6edf3HexTb4b4b4)Tb4b4b4.Te6edf3stringifyTb4b4b4(Tff7b72thisTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Concatenates a word array to this word array.
*
* @param {WordArray} wordArray The word array to append.
*
* @return {WordArray} This word array.
*
* @example
*
* wordArray1.concat(wordArray2);
*/
Te6edf3concatTff7b72: Tff7b72function Tb4b4b4(Te6edf3wordArrayTb4b4b4) Tb4b4b4{
T8b949e// Shortcuts
Tff7b72var Te6edf3thisWords Tff7b72= Tff7b72thisTb4b4b4.Te6edf3wordsTb4b4b4;
Tff7b72var Te6edf3thatWords Tff7b72= Te6edf3wordArrayTb4b4b4.Te6edf3wordsTb4b4b4;
Tff7b72var Te6edf3thisSigBytes Tff7b72= Tff7b72thisTb4b4b4.Te6edf3sigBytesTb4b4b4;
Tff7b72var Te6edf3thatSigBytes Tff7b72= Te6edf3wordArrayTb4b4b4.Te6edf3sigBytesTb4b4b4;
T8b949e// Clamp excess bits
Tff7b72thisTb4b4b4.Te6edf3clampTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Concat
Tff7b72if Tb4b4b4(Te6edf3thisSigBytes Tff7b72% T79c0ff4Tb4b4b4) Tb4b4b4{
T8b949e// Copy one byte at a time
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3thatSigBytesTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3thatByte Tff7b72= Tb4b4b4(Te6edf3thatWordsTb4b4b4[Te6edf3i Tff7b72>>> T79c0ff2Tb4b4b4] Tff7b72>>> Tb4b4b4(T79c0ff24 Tff7b72- Tb4b4b4(Te6edf3i Tff7b72% T79c0ff4Tb4b4b4) Tff7b72* T79c0ff8Tb4b4b4)Tb4b4b4) Tff7b72& T79c0ff0xffTb4b4b4;
Te6edf3thisWordsTb4b4b4[Tb4b4b4(Te6edf3thisSigBytes Tff7b72+ Te6edf3iTb4b4b4) Tff7b72>>> T79c0ff2Tb4b4b4] Tff7b72|= Te6edf3thatByte Tff7b72<< Tb4b4b4(T79c0ff24 Tff7b72- Tb4b4b4(Tb4b4b4(Te6edf3thisSigBytes Tff7b72+ Te6edf3iTb4b4b4) Tff7b72% T79c0ff4Tb4b4b4) Tff7b72* T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// Copy one word at a time
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3thatSigBytesTb4b4b4; Te6edf3i Tff7b72+= T79c0ff4Tb4b4b4) Tb4b4b4{
Te6edf3thisWordsTb4b4b4[Tb4b4b4(Te6edf3thisSigBytes Tff7b72+ Te6edf3iTb4b4b4) Tff7b72>>> T79c0ff2Tb4b4b4] Tff7b72= Te6edf3thatWordsTb4b4b4[Te6edf3i Tff7b72>>> T79c0ff2Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3sigBytes Tff7b72+= Te6edf3thatSigBytesTb4b4b4;
T8b949e// Chainable
Tff7b72return Tff7b72thisTb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Removes insignificant bits.
*
* @example
*
* wordArray.clamp();
*/
Te6edf3clampTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// Shortcuts
Tff7b72var Te6edf3words Tff7b72= Tff7b72thisTb4b4b4.Te6edf3wordsTb4b4b4;
Tff7b72var Te6edf3sigBytes Tff7b72= Tff7b72thisTb4b4b4.Te6edf3sigBytesTb4b4b4;
T8b949e// Clamp
Te6edf3wordsTb4b4b4[Te6edf3sigBytes Tff7b72>>> T79c0ff2Tb4b4b4] Tff7b72&= T79c0ff0xffffffff Tff7b72<< Tb4b4b4(T79c0ff32 Tff7b72- Tb4b4b4(Te6edf3sigBytes Tff7b72% T79c0ff4Tb4b4b4) Tff7b72* T79c0ff8Tb4b4b4)Tb4b4b4;
Te6edf3wordsTb4b4b4.Te6edf3length Tff7b72= Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Te6edf3sigBytes Tff7b72/ T79c0ff4Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Creates a copy of this word array.
*
* @return {WordArray} The clone.
*
* @example
*
* var clone = wordArray.clone();
*/
Te6edf3cloneTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3clone Tff7b72= Te6edf3BaseTb4b4b4.Te6edf3cloneTb4b4b4.Te6edf3callTb4b4b4(Tff7b72thisTb4b4b4)Tb4b4b4;
Te6edf3cloneTb4b4b4.Te6edf3words Tff7b72= Tff7b72thisTb4b4b4.Te6edf3wordsTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3cloneTb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Creates a word array filled with random bytes.
*
* @param {number} nBytes The number of random bytes to generate.
*
* @return {WordArray} The random word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.lib.WordArray.random(16);
*/
Te6edf3randomTff7b72: Tff7b72function Tb4b4b4(Te6edf3nBytesTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3words Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72var Te6edf3r Tff7b72= Tff7b72function Tb4b4b4(Te6edf3m_wTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3m_w Tff7b72= Te6edf3m_wTb4b4b4;
Tff7b72var Te6edf3m_z Tff7b72= T79c0ff0x3ade68b1Tb4b4b4;
Tff7b72var Te6edf3mask Tff7b72= T79c0ff0xffffffffTb4b4b4;
Tff7b72return Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3m_z Tff7b72= Tb4b4b4(T79c0ff0x9069 Tff7b72* Tb4b4b4(Te6edf3m_z Tff7b72& T79c0ff0xffffTb4b4b4) Tff7b72+ Tb4b4b4(Te6edf3m_z Tff7b72>> T79c0ff0x10Tb4b4b4)Tb4b4b4) Tff7b72& Te6edf3maskTb4b4b4;
Te6edf3m_w Tff7b72= Tb4b4b4(T79c0ff0x4650 Tff7b72* Tb4b4b4(Te6edf3m_w Tff7b72& T79c0ff0xffffTb4b4b4) Tff7b72+ Tb4b4b4(Te6edf3m_w Tff7b72>> T79c0ff0x10Tb4b4b4)Tb4b4b4) Tff7b72& Te6edf3maskTb4b4b4;
Tff7b72var Te6edf3result Tff7b72= Tb4b4b4(Tb4b4b4(Te6edf3m_z Tff7b72<< T79c0ff0x10Tb4b4b4) Tff7b72+ Te6edf3m_wTb4b4b4) Tff7b72& Te6edf3maskTb4b4b4;
Te6edf3result Tff7b72/= T79c0ff0x100000000Tb4b4b4;
Te6edf3result Tff7b72+= T79c0ff0.5Tb4b4b4;
Tff7b72return Te6edf3result Tff7b72* Tb4b4b4(Tffa657MathTb4b4b4.Te6edf3randomTb4b4b4(Tb4b4b4) Tff7b72> T79c0ff0.5 Tff7b72? T79c0ff1 Tff7b72: Tff7b72-T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4, Te6edf3rcacheTb4b4b4; Te6edf3i Tff7b72< Te6edf3nBytesTb4b4b4; Te6edf3i Tff7b72+= T79c0ff4Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3_r Tff7b72= Te6edf3rTb4b4b4(Tb4b4b4(Te6edf3rcache Tff7b72|| Tffa657MathTb4b4b4.Te6edf3randomTb4b4b4(Tb4b4b4)Tb4b4b4) Tff7b72* T79c0ff0x100000000Tb4b4b4)Tb4b4b4;
Te6edf3rcache Tff7b72= Te6edf3_rTb4b4b4(Tb4b4b4) Tff7b72* T79c0ff0x3ade67b7Tb4b4b4;
Te6edf3wordsTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4(Te6edf3_rTb4b4b4(Tb4b4b4) Tff7b72* T79c0ff0x100000000Tb4b4b4) Tff7b72| T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72new Te6edf3WordArrayTb4b4b4.Te6edf3initTb4b4b4(Te6edf3wordsTb4b4b4, Te6edf3nBytesTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/**
* Encoder namespace.
*/
Tff7b72var Te6edf3C_enc Tff7b72= Tb4b4b4(Te6edf3CTb4b4b4.Te6edf3enc Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e/**
* Hex encoding strategy.
*/
Tff7b72var Te6edf3Hex Tff7b72= Tb4b4b4(Te6edf3C_encTb4b4b4.Te6edf3Hex Tff7b72= Tb4b4b4{
T8b949e/**
* Converts a word array to a hex string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The hex string.
*
* @static
*
* @example
*
* var hexString = CryptoJS.enc.Hex.stringify(wordArray);
*/
Te6edf3stringifyTff7b72: Tff7b72function Tb4b4b4(Te6edf3wordArrayTb4b4b4) Tb4b4b4{
T8b949e// Shortcuts
Tff7b72var Te6edf3words Tff7b72= Te6edf3wordArrayTb4b4b4.Te6edf3wordsTb4b4b4;
Tff7b72var Te6edf3sigBytes Tff7b72= Te6edf3wordArrayTb4b4b4.Te6edf3sigBytesTb4b4b4;
T8b949e// Convert
Tff7b72var Te6edf3hexChars Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3sigBytesTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3bite Tff7b72= Tb4b4b4(Te6edf3wordsTb4b4b4[Te6edf3i Tff7b72>>> T79c0ff2Tb4b4b4] Tff7b72>>> Tb4b4b4(T79c0ff24 Tff7b72- Tb4b4b4(Te6edf3i Tff7b72% T79c0ff4Tb4b4b4) Tff7b72* T79c0ff8Tb4b4b4)Tb4b4b4) Tff7b72& T79c0ff0xffTb4b4b4;
Te6edf3hexCharsTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4(Te6edf3bite Tff7b72>>> T79c0ff4Tb4b4b4)Tb4b4b4.Te6edf3toStringTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3hexCharsTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4(Te6edf3bite Tff7b72& T79c0ff0x0fTb4b4b4)Tb4b4b4.Te6edf3toStringTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3hexCharsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Converts a hex string to a word array.
*
* @param {string} hexStr The hex string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Hex.parse(hexString);
*/
Te6edf3parseTff7b72: Tff7b72function Tb4b4b4(Te6edf3hexStrTb4b4b4) Tb4b4b4{
T8b949e// Shortcut
Tff7b72var Te6edf3hexStrLength Tff7b72= Te6edf3hexStrTb4b4b4.Te6edf3lengthTb4b4b4;
T8b949e// Convert
Tff7b72var Te6edf3words Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3hexStrLengthTb4b4b4; Te6edf3i Tff7b72+= T79c0ff2Tb4b4b4) Tb4b4b4{
Te6edf3wordsTb4b4b4[Te6edf3i Tff7b72>>> T79c0ff3Tb4b4b4] Tff7b72|= Tffa657parseIntTb4b4b4(Te6edf3hexStrTb4b4b4.Te6edf3substrTb4b4b4(Te6edf3iTb4b4b4, T79c0ff2Tb4b4b4)Tb4b4b4, T79c0ff16Tb4b4b4) Tff7b72<< Tb4b4b4(T79c0ff24 Tff7b72- Tb4b4b4(Te6edf3i Tff7b72% T79c0ff8Tb4b4b4) Tff7b72* T79c0ff4Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72new Te6edf3WordArrayTb4b4b4.Te6edf3initTb4b4b4(Te6edf3wordsTb4b4b4, Te6edf3hexStrLength Tff7b72/ T79c0ff2Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e/**
* Latin1 encoding strategy.
*/
Tff7b72var Te6edf3Latin1 Tff7b72= Tb4b4b4(Te6edf3C_encTb4b4b4.Te6edf3Latin1 Tff7b72= Tb4b4b4{
T8b949e/**
* Converts a word array to a Latin1 string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The Latin1 string.
*
* @static
*
* @example
*
* var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
*/
Te6edf3stringifyTff7b72: Tff7b72function Tb4b4b4(Te6edf3wordArrayTb4b4b4) Tb4b4b4{
T8b949e// Shortcuts
Tff7b72var Te6edf3words Tff7b72= Te6edf3wordArrayTb4b4b4.Te6edf3wordsTb4b4b4;
Tff7b72var Te6edf3sigBytes Tff7b72= Te6edf3wordArrayTb4b4b4.Te6edf3sigBytesTb4b4b4;
T8b949e// Convert
Tff7b72var Te6edf3latin1Chars Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3sigBytesTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3bite Tff7b72= Tb4b4b4(Te6edf3wordsTb4b4b4[Te6edf3i Tff7b72>>> T79c0ff2Tb4b4b4] Tff7b72>>> Tb4b4b4(T79c0ff24 Tff7b72- Tb4b4b4(Te6edf3i Tff7b72% T79c0ff4Tb4b4b4) Tff7b72* T79c0ff8Tb4b4b4)Tb4b4b4) Tff7b72& T79c0ff0xffTb4b4b4;
Te6edf3latin1CharsTb4b4b4.Te6edf3pushTb4b4b4(Tffa657StringTb4b4b4.Te6edf3fromCharCodeTb4b4b4(Te6edf3biteTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3latin1CharsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Converts a Latin1 string to a word array.
*
* @param {string} latin1Str The Latin1 string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
*/
Te6edf3parseTff7b72: Tff7b72function Tb4b4b4(Te6edf3latin1StrTb4b4b4) Tb4b4b4{
T8b949e// Shortcut
Tff7b72var Te6edf3latin1StrLength Tff7b72= Te6edf3latin1StrTb4b4b4.Te6edf3lengthTb4b4b4;
T8b949e// Convert
Tff7b72var Te6edf3words Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3latin1StrLengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3wordsTb4b4b4[Te6edf3i Tff7b72>>> T79c0ff2Tb4b4b4] Tff7b72|= Tb4b4b4(Te6edf3latin1StrTb4b4b4.Te6edf3charCodeAtTb4b4b4(Te6edf3iTb4b4b4) Tff7b72& T79c0ff0xffTb4b4b4) Tff7b72<< Tb4b4b4(T79c0ff24 Tff7b72- Tb4b4b4(Te6edf3i Tff7b72% T79c0ff4Tb4b4b4) Tff7b72* T79c0ff8Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72new Te6edf3WordArrayTb4b4b4.Te6edf3initTb4b4b4(Te6edf3wordsTb4b4b4, Te6edf3latin1StrLengthTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e/**
* UTF-8 encoding strategy.
*/
Tff7b72var Te6edf3Utf8 Tff7b72= Tb4b4b4(Te6edf3C_encTb4b4b4.Te6edf3Utf8 Tff7b72= Tb4b4b4{
T8b949e/**
* Converts a word array to a UTF-8 string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The UTF-8 string.
*
* @static
*
* @example
*
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
*/
Te6edf3stringifyTff7b72: Tff7b72function Tb4b4b4(Te6edf3wordArrayTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72return Tffa657decodeURIComponentTb4b4b4(Te6edf3escapeTb4b4b4(Te6edf3Latin1Tb4b4b4.Te6edf3stringifyTb4b4b4(Te6edf3wordArrayTb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"Malformed UTF-8 data"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Converts a UTF-8 string to a word array.
*
* @param {string} utf8Str The UTF-8 string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
*/
Te6edf3parseTff7b72: Tff7b72function Tb4b4b4(Te6edf3utf8StrTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3Latin1Tb4b4b4.Te6edf3parseTb4b4b4(Te6edf3unescapeTb4b4b4(Tffa657encodeURIComponentTb4b4b4(Te6edf3utf8StrTb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e/**
* Abstract buffered block algorithm template.
*
* The property blockSize must be implemented in a concrete subtype.
*
* @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0
*/
Tff7b72var Te6edf3BufferedBlockAlgorithm Tff7b72= Tb4b4b4(Te6edf3C_libTb4b4b4.Te6edf3BufferedBlockAlgorithm Tff7b72= Te6edf3BaseTb4b4b4.Te6edf3extendTb4b4b4(Tb4b4b4{
T8b949e/**
* Resets this block algorithm's data buffer to its initial state.
*
* @example
*
* bufferedBlockAlgorithm.reset();
*/
Te6edf3resetTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// Initial values
Tff7b72thisTb4b4b4.Te6edf3_data Tff7b72= Tff7b72new Te6edf3WordArrayTb4b4b4.Te6edf3initTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3_nDataBytes Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Adds new data to this block algorithm's buffer.
*
* @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
*
* @example
*
* bufferedBlockAlgorithm._append('data');
* bufferedBlockAlgorithm._append(wordArray);
*/
Te6edf3_appendTff7b72: Tff7b72function Tb4b4b4(Te6edf3dataTb4b4b4) Tb4b4b4{
T8b949e// Convert string to WordArray, else assume WordArray already
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3data Tff7b72== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Te6edf3data Tff7b72= Te6edf3Utf8Tb4b4b4.Te6edf3parseTb4b4b4(Te6edf3dataTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Append
Tff7b72thisTb4b4b4.Te6edf3_dataTb4b4b4.Te6edf3concatTb4b4b4(Te6edf3dataTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3_nDataBytes Tff7b72+= Te6edf3dataTb4b4b4.Te6edf3sigBytesTb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Processes available data blocks.
*
* This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
*
* @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
*
* @return {WordArray} The processed data.
*
* @example
*
* var processedData = bufferedBlockAlgorithm._process();
* var processedData = bufferedBlockAlgorithm._process(!!'flush');
*/
Te6edf3_processTff7b72: Tff7b72function Tb4b4b4(Te6edf3doFlushTb4b4b4) Tb4b4b4{
T8b949e// Shortcuts
Tff7b72var Te6edf3data Tff7b72= Tff7b72thisTb4b4b4.Te6edf3_dataTb4b4b4;
Tff7b72var Te6edf3dataWords Tff7b72= Te6edf3dataTb4b4b4.Te6edf3wordsTb4b4b4;
Tff7b72var Te6edf3dataSigBytes Tff7b72= Te6edf3dataTb4b4b4.Te6edf3sigBytesTb4b4b4;
Tff7b72var Te6edf3blockSize Tff7b72= Tff7b72thisTb4b4b4.Te6edf3blockSizeTb4b4b4;
Tff7b72var Te6edf3blockSizeBytes Tff7b72= Te6edf3blockSize Tff7b72* T79c0ff4Tb4b4b4;
T8b949e// Count blocks ready
Tff7b72var Te6edf3nBlocksReady Tff7b72= Te6edf3dataSigBytes Tff7b72/ Te6edf3blockSizeBytesTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3doFlushTb4b4b4) Tb4b4b4{
T8b949e// Round up to include partial blocks
Te6edf3nBlocksReady Tff7b72= Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Te6edf3nBlocksReadyTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e// Round down to include only full blocks,
T8b949e// less the number of blocks that must remain in the buffer
Te6edf3nBlocksReady Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(Tb4b4b4(Te6edf3nBlocksReady Tff7b72| T79c0ff0Tb4b4b4) Tff7b72- Tff7b72thisTb4b4b4.Te6edf3_minBufferSizeTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Count words ready
Tff7b72var Te6edf3nWordsReady Tff7b72= Te6edf3nBlocksReady Tff7b72* Te6edf3blockSizeTb4b4b4;
T8b949e// Count bytes ready
Tff7b72var Te6edf3nBytesReady Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Te6edf3nWordsReady Tff7b72* T79c0ff4Tb4b4b4, Te6edf3dataSigBytesTb4b4b4)Tb4b4b4;
T8b949e// Process blocks
Tff7b72if Tb4b4b4(Te6edf3nWordsReadyTb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72var Te6edf3offset Tff7b72= T79c0ff0Tb4b4b4; Te6edf3offset Tff7b72< Te6edf3nWordsReadyTb4b4b4; Te6edf3offset Tff7b72+= Te6edf3blockSizeTb4b4b4) Tb4b4b4{
T8b949e// Perform concrete-algorithm logic
Tff7b72thisTb4b4b4.Te6edf3_doProcessBlockTb4b4b4(Te6edf3dataWordsTb4b4b4, Te6edf3offsetTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Remove processed words
Tff7b72var Te6edf3processedWords Tff7b72= Te6edf3dataWordsTb4b4b4.Te6edf3spliceTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3nWordsReadyTb4b4b4)Tb4b4b4;
Te6edf3dataTb4b4b4.Te6edf3sigBytes Tff7b72-= Te6edf3nBytesReadyTb4b4b4;
Tb4b4b4}
T8b949e// Return processed words
Tff7b72return Tff7b72new Te6edf3WordArrayTb4b4b4.Te6edf3initTb4b4b4(Te6edf3processedWordsTb4b4b4, Te6edf3nBytesReadyTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Creates a copy of this object.
*
* @return {Object} The clone.
*
* @example
*
* var clone = bufferedBlockAlgorithm.clone();
*/
Te6edf3cloneTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3clone Tff7b72= Te6edf3BaseTb4b4b4.Te6edf3cloneTb4b4b4.Te6edf3callTb4b4b4(Tff7b72thisTb4b4b4)Tb4b4b4;
Te6edf3cloneTb4b4b4.Te6edf3_data Tff7b72= Tff7b72thisTb4b4b4.Te6edf3_dataTb4b4b4.Te6edf3cloneTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3cloneTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3_minBufferSizeTff7b72: T79c0ff0Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/**
* Abstract hasher template.
*
* @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)
*/
Tff7b72var Te6edf3Hasher Tff7b72= Tb4b4b4(Te6edf3C_libTb4b4b4.Te6edf3Hasher Tff7b72= Te6edf3BufferedBlockAlgorithmTb4b4b4.Te6edf3extendTb4b4b4(Tb4b4b4{
T8b949e/**
* Configuration options.
*/
Te6edf3cfgTff7b72: Te6edf3BaseTb4b4b4.Te6edf3extendTb4b4b4(Tb4b4b4)Tb4b4b4,
T8b949e/**
* Initializes a newly created hasher.
*
* @param {Object} cfg (Optional) The configuration options to use for this hash computation.
*
* @example
*
* var hasher = CryptoJS.algo.SHA256.create();
*/
Te6edf3initTff7b72: Tff7b72function Tb4b4b4(Te6edf3cfgTb4b4b4) Tb4b4b4{
T8b949e// Apply config defaults
Tff7b72thisTb4b4b4.Te6edf3cfg Tff7b72= Tff7b72thisTb4b4b4.Te6edf3cfgTb4b4b4.Te6edf3extendTb4b4b4(Te6edf3cfgTb4b4b4)Tb4b4b4;
T8b949e// Set initial values
Tff7b72thisTb4b4b4.Te6edf3resetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Resets this hasher to its initial state.
*
* @example
*
* hasher.reset();
*/
Te6edf3resetTff7b72: Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// Reset data buffer
Te6edf3BufferedBlockAlgorithmTb4b4b4.Te6edf3resetTb4b4b4.Te6edf3callTb4b4b4(Tff7b72thisTb4b4b4)Tb4b4b4;
T8b949e// Perform concrete-hasher logic
Tff7b72thisTb4b4b4.Te6edf3_doResetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Updates this hasher with a message.
*
* @param {WordArray|string} messageUpdate The message to append.
*
* @return {Hasher} This hasher.
*
* @example
*
* hasher.update('message');
* hasher.update(wordArray);
*/
Te6edf3updateTff7b72: Tff7b72function Tb4b4b4(Te6edf3messageUpdateTb4b4b4) Tb4b4b4{
T8b949e// Append
Tff7b72thisTb4b4b4.Te6edf3_appendTb4b4b4(Te6edf3messageUpdateTb4b4b4)Tb4b4b4;
T8b949e// Update the hash
Tff7b72thisTb4b4b4.Te6edf3_processTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e// Chainable
Tff7b72return Tff7b72thisTb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Finalizes the hash computation.
* Note that the finalize operation is effectively a destructive, read-once operation.
*
* @param {WordArray|string} messageUpdate (Optional) A final message update.
*
* @return {WordArray} The hash.
*
* @example
*
* var hash = hasher.finalize();
* var hash = hasher.finalize('message');
* var hash = hasher.finalize(wordArray);
*/
Te6edf3finalizeTff7b72: Tff7b72function Tb4b4b4(Te6edf3messageUpdateTb4b4b4) Tb4b4b4{
T8b949e// Final message update
Tff7b72if Tb4b4b4(Te6edf3messageUpdateTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3_appendTb4b4b4(Te6edf3messageUpdateTb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Perform concrete-hasher logic
Tff7b72var Te6edf3hash Tff7b72= Tff7b72thisTb4b4b4.Te6edf3_doFinalizeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3hashTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3blockSizeTff7b72: T79c0ff512 Tff7b72/ T79c0ff32Tb4b4b4,
T8b949e/**
* Creates a shortcut function to a hasher's object interface.
*
* @param {Hasher} hasher The hasher to create a helper for.
*
* @return {Function} The shortcut function.
*
* @static
*
* @example
*
* var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);
*/
Te6edf3_createHelperTff7b72: Tff7b72function Tb4b4b4(Te6edf3hasherTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72function Tb4b4b4(Te6edf3messageTb4b4b4, Te6edf3cfgTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72new Te6edf3hasherTb4b4b4.Te6edf3initTb4b4b4(Te6edf3cfgTb4b4b4)Tb4b4b4.Te6edf3finalizeTb4b4b4(Te6edf3messageTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
T8b949e/**
* Creates a shortcut function to the HMAC's object interface.
*
* @param {Hasher} hasher The hasher to use in this HMAC helper.
*
* @return {Function} The shortcut function.
*
* @static
*
* @example
*
* var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);
*/
Te6edf3_createHmacHelperTff7b72: Tff7b72function Tb4b4b4(Te6edf3hasherTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72function Tb4b4b4(Te6edf3messageTb4b4b4, Te6edf3keyTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72new Te6edf3C_algoTb4b4b4.Te6edf3HMACTb4b4b4.Te6edf3initTb4b4b4(Te6edf3hasherTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4.Te6edf3finalizeTb4b4b4(Te6edf3messageTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e/**
* Algorithm namespace.
*/
Tff7b72var Te6edf3C_algo Tff7b72= Tb4b4b4(Te6edf3CTb4b4b4.Te6edf3algo Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3CTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4(Tffa657MathTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3CryptoJSTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────